// // 1. 利用递归求两个数字最大公约数
// // - 百度
//
// // 就相当于用先用m除以n,然后下一次用n替换m，m%n替换n，变成n除以m%n,也就是m–>n,n–>m%n
// // ，这样就可以构成递归的关系，用（n,m%n）替换（m,n）。递归的出口就是当余数（上一次的m%n）
// // n为0的时候，最大公约数就是m（上一次的n）。
// let sum = 1
// let a = 1
// let ntp  = null
// function pact (x, y){
//   if(x < y){
//       sum = x
//       x = y
//       y = sum
//   }
//   if(x % y ===0){
//       return y
//   }else{
//       ntp = x
//       x = y
//       y = ntp % x
//       sum *= pact(x, y)
//   }
//  return sum
// }
//
// console.log(pact(1515,600))
//
// {
//     function fn(max, min) {
//         let accept = null
//         let snap = null
//         if (max < min) {
//             snap = max
//             max = min
//             min = snap
//         }
//         if (max % min === 0) {
//             return min
//         } else {
//             return fn(min, max % min)
//         }
//     }
// let max = 5
// let min = 2
// let zdgys = fn(max,min);
// let zxgbs = (max*min)/zdgys;
// console.log(max + '和' + min + '的最小公倍数是：' + zxgbs);
// 3. 编写一个函数，输入n为偶数时，调用函数求1/2+1/4+...+1/n,当输入n为奇数时，调用函数求1+1/3+...+1/n    循环和递归
{
    function fun(n) {
         if(n == 1){
             return 1
        }else if(n == 2){
            return 1 / 2
         }else{
             console.log(n)
             return fun( n - 2 ) + 1 / n
         }
    }
    console.log(fun(500))
}